package com.laosg.study.base.ch2

/**
  * Created by kaimin on 4/5/2019.
  * time : 12:29
  * scala 中的方法 和函数
  */
object Method2Funtion {
  def main(args: Array[String]): Unit = {

    val dog = new Dog
    println(dog.sum(3, 5))
    //现在转换成函数

    //函数
    val f1 = dog.sum _

    println("利用函数也可以计算：" + f1(10, 20))

    println("f1=" + f1)
    //直接定义hanhsu
    val f2 = (a: Int, b: Int) => {
      a + b
    }
    println("f2R" + f2)
    println("利用函数2也可以计算：" + f2(10, 20))

//    dog.digui(3)
    println(dog.summany(3,2))
    def f="cccc"
    println(f)
  }

}

class Dog {
  //知道返回值类型的用这种确定的
  def sum(a: Int, b: Int): Int = {
    a + b
  }

  //不知道返回值类型确定的，用这种类型推导
  def mi = {

  }

  def digui(a: Int){
    if(a>2) {
      digui(a - 1)
    }
    println(a)
  }
  def summany(a:Int*):Int={
    var sum=0;
    for (item<-a) {
      sum+=item
    }
    sum
  }
}
